package net.hn.hnms.biz.sewage.entity;

import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.math.BigDecimal;
import java.sql.Timestamp;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;

/**
 * @author 智呈物联 nzw
 * @date 2022/9/22
 */
@Entity
@Table(name = "domestic_sewage_shift", schema = "wscl", catalog = "huaneng-safety")
public class DomesticSewageShiftEntity {
    private Long id;
    private String mudPress;
    private String mudScraper;
    private String liftPump;
    private String sludgePump;
    private String stirringPump;
    private String backwashPump;
    private String rootsBlower;
    private String totalSewageTreatment;
    private String totalOverflow;
    private String totalReuse;
    private String sewageTreatment;
    private String overflow;
    private String reuse;
    private BigDecimal aluminumChloride;
    private BigDecimal polyacrylamide;
    private String multimediaFilter;
    private Date carbonDioxideStartTime;
    private Date carbonDioxideEndTime;
    private String shift;
    private String personOnDuty;
    private Long indexId;
    private String personOnDutyCode;

    private String lastSewageTreatment;
    private String lastOverflow ;
    private String lastReuse ;

    /**
     * disinfector 消毒液
     */
    private BigDecimal disinfector ;
    /**
     * spfs 除磷剂
     */
    private BigDecimal spfs ;

    private List<Map<String,String>> user ;
    private List<DomesticSewageOdsEntity> domesticSewageOdsEntities;
    private List<DomesticSewageAmmoniaNitrogenEntity> domesticSewageAmmoniaNitrogenEntities;

    private String remark;

    @Transient
    public String getLastSewageTreatment() {
        return lastSewageTreatment;
    }

    public void setLastSewageTreatment(String lastSewageTreatment) {
        this.lastSewageTreatment = lastSewageTreatment;
    }

    @Transient
    public String getLastOverflow() {
        return lastOverflow;
    }

    public void setLastOverflow(String lastOverflow) {
        this.lastOverflow = lastOverflow;
    }

    @Transient
    public String getLastReuse() {
        return lastReuse;
    }

    public void setLastReuse(String lastReuse) {
        this.lastReuse = lastReuse;
    }

    @Basic
    @Column(name = "remark")
    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    @Transient
    public List<Map<String, String>> getUser() {
        return user;
    }

    public void setUser(List<Map<String, String>> user) {
        this.user = user;
    }

    @Transient
    public List<DomesticSewageOdsEntity> getDomesticSewageOdsEntities() {
        return domesticSewageOdsEntities;
    }

    public void setDomesticSewageOdsEntities(List<DomesticSewageOdsEntity> domesticSewageOdsEntities) {
        this.domesticSewageOdsEntities = domesticSewageOdsEntities;
    }

    @Transient
    public List<DomesticSewageAmmoniaNitrogenEntity> getDomesticSewageAmmoniaNitrogenEntities() {
        return domesticSewageAmmoniaNitrogenEntities;
    }

    public void setDomesticSewageAmmoniaNitrogenEntities(List<DomesticSewageAmmoniaNitrogenEntity> domesticSewageAmmoniaNitrogenEntities) {
        this.domesticSewageAmmoniaNitrogenEntities = domesticSewageAmmoniaNitrogenEntities;
    }

    @Id
    @Column(name = "id")
    @GeneratedValue(strategy = GenerationType.AUTO, generator = "custom-id")
    @GenericGenerator(name = "custom-id", strategy = "net.hn.hnms.biz.sewage.util.CustomIDGenerator")
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Basic
    @Column(name = "mud_press")
    public String getMudPress() {
        return mudPress;
    }

    public void setMudPress(String mudPress) {
        this.mudPress = mudPress;
    }

    @Basic
    @Column(name = "mud_scraper")
    public String getMudScraper() {
        return mudScraper;
    }

    public void setMudScraper(String mudScraper) {
        this.mudScraper = mudScraper;
    }

    @Basic
    @Column(name = "lift_pump")
    public String getLiftPump() {
        return liftPump;
    }

    public void setLiftPump(String liftPump) {
        this.liftPump = liftPump;
    }

    @Basic
    @Column(name = "sludge_pump")
    public String getSludgePump() {
        return sludgePump;
    }

    public void setSludgePump(String sludgePump) {
        this.sludgePump = sludgePump;
    }

    @Basic
    @Column(name = "stirring_pump")
    public String getStirringPump() {
        return stirringPump;
    }

    public void setStirringPump(String stirringPump) {
        this.stirringPump = stirringPump;
    }

    @Basic
    @Column(name = "backwash_pump")
    public String getBackwashPump() {
        return backwashPump;
    }

    public void setBackwashPump(String backwashPump) {
        this.backwashPump = backwashPump;
    }

    @Basic
    @Column(name = "roots_blower")
    public String getRootsBlower() {
        return rootsBlower;
    }

    public void setRootsBlower(String rootsBlower) {
        this.rootsBlower = rootsBlower;
    }

    @Basic
    @Column(name = "total_sewage_treatment")
    public String getTotalSewageTreatment() {
        return totalSewageTreatment;
    }

    public void setTotalSewageTreatment(String totalSewageTreatment) {
        this.totalSewageTreatment = totalSewageTreatment;
    }

    @Basic
    @Column(name = "total_overflow")
    public String getTotalOverflow() {
        return totalOverflow;
    }

    public void setTotalOverflow(String totalOverflow) {
        this.totalOverflow = totalOverflow;
    }

    @Basic
    @Column(name = "total_reuse")
    public String getTotalReuse() {
        return totalReuse;
    }

    public void setTotalReuse(String totalReuse) {
        this.totalReuse = totalReuse;
    }

    @Basic
    @Column(name = "sewage_treatment")
    public String getSewageTreatment() {
        return sewageTreatment;
    }

    public void setSewageTreatment(String sewageTreatment) {
        this.sewageTreatment = sewageTreatment;
    }

    @Basic
    @Column(name = "overflow")
    public String getOverflow() {
        return overflow;
    }

    public void setOverflow(String overflow) {
        this.overflow = overflow;
    }

    @Basic
    @Column(name = "reuse")
    public String getReuse() {
        return reuse;
    }

    public void setReuse(String reuse) {
        this.reuse = reuse;
    }

    @Basic
    @Column(name = "aluminum_chloride")
    public BigDecimal getAluminumChloride() {
        return aluminumChloride;
    }

    public void setAluminumChloride(BigDecimal aluminumChloride) {
        this.aluminumChloride = aluminumChloride;
    }


    /**
     * disinfector 消毒液
     * @return
     */
    @Basic
    @Column(name = "disinfector")
    public BigDecimal getDisinfector() {
        return disinfector;
    }
    /**
     * disinfector 消毒液
     * @return
     */

    public void setDisinfector(BigDecimal disinfector) {
        this.disinfector = disinfector;
    }


    /**
     * disinfector 除磷剂
     * @return
     */
    @Basic
    @Column(name = "spfs")
    public BigDecimal getSpfs() {
        return spfs;
    }

    /**
     * disinfector 除磷剂
     * @return
     */
    public void setSpfs(BigDecimal spfs) {
        this.spfs = spfs;
    }


    @Basic
    @Column(name = "polyacrylamide")
    public BigDecimal getPolyacrylamide() {
        return polyacrylamide;
    }

    public void setPolyacrylamide(BigDecimal polyacrylamide) {
        this.polyacrylamide = polyacrylamide;
    }

    @Basic
    @Column(name = "multimedia_filter")
    public String getMultimediaFilter() {
        return multimediaFilter;
    }

    public void setMultimediaFilter(String multimediaFilter) {
        this.multimediaFilter = multimediaFilter;
    }

    @Basic
    @Column(name = "carbon_dioxide_start_time")
    public Date getCarbonDioxideStartTime() {
        return carbonDioxideStartTime;
    }

    public void setCarbonDioxideStartTime(Date carbonDioxideStartTime) {
        this.carbonDioxideStartTime = carbonDioxideStartTime;
    }

    @Basic
    @Column(name = "carbon_dioxide_end_time")
    public Date getCarbonDioxideEndTime() {
        return carbonDioxideEndTime;
    }

    public void setCarbonDioxideEndTime(Timestamp carbonDioxideEndTime) {
        this.carbonDioxideEndTime = carbonDioxideEndTime;
    }

    @Basic
    @Column(name = "shift")
    public String getShift() {
        return shift;
    }

    public void setShift(String shift) {
        this.shift = shift;
    }

    @Basic
    @Column(name = "person_on_duty")
    public String getPersonOnDuty() {
        return personOnDuty;
    }

    public void setPersonOnDuty(String personOnDuty) {
        this.personOnDuty = personOnDuty;
    }

    @Basic
    @Column(name = "index_id")
    public Long getIndexId() {
        return indexId;
    }

    public void setIndexId(Long indexId) {
        this.indexId = indexId;
    }

    @Basic
    @Column(name = "person_on_duty_code")
    public String getPersonOnDutyCode() {
        return personOnDutyCode;
    }

    public void setPersonOnDutyCode(String personOnDutyCode) {
        this.personOnDutyCode = personOnDutyCode;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        DomesticSewageShiftEntity that = (DomesticSewageShiftEntity) o;
        return id == that.id &&
                Objects.equals(mudPress, that.mudPress) &&
                Objects.equals(mudScraper, that.mudScraper) &&
                Objects.equals(liftPump, that.liftPump) &&
                Objects.equals(sludgePump, that.sludgePump) &&
                Objects.equals(stirringPump, that.stirringPump) &&
                Objects.equals(backwashPump, that.backwashPump) &&
                Objects.equals(rootsBlower, that.rootsBlower) &&
                Objects.equals(totalSewageTreatment, that.totalSewageTreatment) &&
                Objects.equals(totalOverflow, that.totalOverflow) &&
                Objects.equals(totalReuse, that.totalReuse) &&
                Objects.equals(sewageTreatment, that.sewageTreatment) &&
                Objects.equals(overflow, that.overflow) &&
                Objects.equals(reuse, that.reuse) &&
                Objects.equals(aluminumChloride, that.aluminumChloride) &&
                Objects.equals(polyacrylamide, that.polyacrylamide) &&
                Objects.equals(multimediaFilter, that.multimediaFilter) &&
                Objects.equals(carbonDioxideStartTime, that.carbonDioxideStartTime) &&
                Objects.equals(carbonDioxideEndTime, that.carbonDioxideEndTime) &&
                Objects.equals(shift, that.shift) &&
                Objects.equals(personOnDuty, that.personOnDuty) &&
                Objects.equals(indexId, that.indexId)&&
                Objects.equals(disinfector, that.disinfector) &&
                Objects.equals(spfs, that.spfs);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, mudPress, mudScraper, liftPump, sludgePump, stirringPump, backwashPump, rootsBlower, totalSewageTreatment, totalOverflow, totalReuse, sewageTreatment, overflow, reuse, aluminumChloride, polyacrylamide, multimediaFilter, carbonDioxideStartTime, carbonDioxideEndTime, shift, personOnDuty, indexId,spfs,disinfector);
    }
}
